fix(strix): preserve executable integrity on hosted runners#570
Conversation
|
Bootstrap exception evidence for current head 1ee7c9c: CodeQL actions and Python, Semgrep, Bandit, pip-audit, OSV, dependency review, Trivy, Scorecard, gitleaks, SBOM, YAML, actionlint, and focused executable-integrity regressions pass. The sole failed required check is Strix run 29513304427, which executes the default-branch trusted workflow and reproduces the exact defect this PR fixes: STRIX_EXECUTABLE_PATH must not be group/world writable. Required OpenCode review subjobs are skipped for this self-modifying central workflow. This is a circular bootstrap condition, not a product-code or unresolved-finding exception. Any temporary protection change will be backed up, minimized to this merge, restored immediately, and live-verified before the AppGuardrail current-head scan is re-dispatched. |
|
Merged as 34d67a1 under the documented circular-bootstrap exception. The repository ruleset was restored to two approvals with last-push approval required. The first classic-protection restore request was rejected because GitHub does not accept contexts and checks together; the retained backup was immediately replayed with the exact app-bound checks schema. Live verification after correction: 15 required checks, one classic approval, last-push approval true, admin enforcement true, and conversation resolution true. Backup digests and files remain under /tmp/cwl-merge-570.3q56W5 for this task evidence. |
Outcome
Fixes the central Strix startup regression observed on ContextualWisdomLab/appguardrail#322 current head 5a89229b7e61054efa254e75ef6859cd1814e121.
The 90-minute budget was not reached: run 29511496203 failed after four seconds because the pip-generated Strix console script inherited group-write permission and the runtime integrity gate correctly refused it with STRIX_EXECUTABLE_PATH must not be group/world writable.
Change
Verification
After merge, re-dispatch Strix for ContextualWisdomLab/appguardrail#322 and verify that the current-head job continues beyond the former ten-minute cutoff and preserves partial artifacts if interrupted.